﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace TccServicos.Models
{
    #region Modelo TCC
    public class RetornoAnimal
    {
        public List<Animal> lista { get; set; }
    }

    public class RetornoGenero
    {
        public List<Genero> lista { get; set; }
    }

    public class RetornoRaca
    {
        public List<Raca> lista { get; set; }
    }

    public class RetornoPorte
    {
        public List<Porte> lista { get; set; }
    }

    public class RetornoCidade
    {
        public List<Cidade> lista { get; set; }
    }

    public class RetornoUf
    {
        public List<Uf> lista { get; set; }
    }

    public class RetornoCombos
    {
        public List<Combo> lista { get; set; }
    }

    public class RetornoComboCidade
    {
        public List<ComboCidade> lista { get; set; }
    }

    public class RetornoFiltros
    {
        public List<PessoaFiltro> lista { get; set; }
    }

    public class Combo
    {
        public string tipo { get; set; }
        public int id { get; set; }
        public int id2 { get; set; }
        public string descricao { get; set; }
    }

    public class ComboCidade
    {
        public int id { get; set; }
        public string cidade { get; set; }
    }

    public class BaseSave
    {
        public bool excluir { get; set; }
    }

    public class Genero : BaseSave
    {
        public int idGenero { get; set; }
        public string genero { get; set; }
    }

    public class Raca
    {
        public int idRaca { get; set; }
        public string raca { get; set; }
    }

    public class Uf
    {
        public int idUf { get; set; }
        public string uf { get; set; }
    }

    public class Cidade
    {
        public int idCidade { get; set; }
        public Uf uf { get; set; }
        public string cidade { get; set; }
    }

    public class Porte
    {
        public int idPorte { get; set; }
        public string porte { get; set; }
    }

    public class Foto : BaseSave
    {
        public int idFoto { get; set; }
        public string nome { get; set; }
        public string tipo { get; set; }
        public byte[] foto { get; set; }
        public string fotoString { get; set;  }
    }

    public class Pessoa : BaseSave
    {
        public int idPessoa { get; set; }
        public string nome { get; set; }
        public string telefone { get; set; }
        public string email { get; set; }
        public string senha { get; set; }
        public string token { get; set; }
    }

    public class PessoaFiltro : BaseSave
    {
        public int idPessoaFiltro { get; set; }
        public Pessoa pessoa { get; set; }
        public Genero genero { get; set; }
        public Raca raca { get; set; }
        public Porte porte { get; set; }
        public int? idadeMin { get; set; }
        public int? idadeMax { get; set; }
        public decimal? pesoMin { get; set; }
        public decimal? pesoMax { get; set; }
        public int idUf { get; set; }
        public int idCidade { get; set; }
        public int animalTipo { get; set; }
    }

    public class Animal : BaseSave
    {
        public int id { get; set; }
        public AnimalTipo animalTipo { get; set; }
        public int animalTipoInt { get; set; }
        public Pessoa pessoa { get; set; }
        public string nome { get; set; }
        public DateTime data { get; set; }
        public string dataFormatada { get; set; }
        public Genero genero { get; set; }
        public Foto foto { get; set; }
        public Raca raca { get; set; }
        public int? idade { get; set; }
        public Porte porte { get; set; }
        public decimal? peso { get; set; }
        public Cidade cidade { get; set; }
        public string telefone { get; set; }
        public string email { get; set; }
        public string descricao { get; set; }
        public string vacinas { get; set; }
        public decimal? latitude { get; set; }
        public decimal? longitude { get; set; }
        public string localizacao { get; set; }
        public string endereco { get; set; }
        public string fotoString { get; set; }
        public byte? DoadoRecolhido { get; set; }
    }

    public class EmailPayload
    {
        public string para { get; set; }
        public string titulo { get; set; }
        public string mensagem1 { get; set; }
        public string mensagem2 { get; set; }
    }

    public class NotificacaoPayload
    {
        public string token { get; set; }
        public string mensagem { get; set; }
    }

    public enum AnimalTipo : int
    {
        Doacao = 1,
        Abandonado = 2,
    }
    #endregion

    #region Modelo Topicos Avancados
    public class ChamadaCadastro
    {
        public int idCadastro { get; set; }
        public string matricula { get; set; }
        public string nome { get; set; }
    }

    public class ChamadaChamada
    {
        public int idChamada { get; set; }
        public string matricula { get; set; }
        public string turma { get; set; }
        public DateTime dataBD { get; set; }
        public string data { get; set; }
        public string nome { get; set; }
    }
    #endregion
}